package com.lwbldy.modules.student.mapper;

import com.lwbldy.modules.student.domain.PreLog;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.springframework.context.annotation.Primary;

import java.util.List;

public interface PreLogMapper {

    /**
     * 按条件查询数据
     * @param param
     * @return
     */
    List<PreLog> selectList(PreLog param);


    /**
     * 添加数据
     * @param param
     * @return 执行结果
     */
    Integer insert(PreLog param);


    /**
     * 根据 id 查询
     * @param id
     * @return
     */
    PreLog selectById(@Param("id") Integer id);

    /**
     * 根据订单号查询
     * @param id
     * @return
     */
    PreLog selectByBillId(@Param("id") String id);


    /**
     * 根据 id 更新数据
     * @param param
     * @return
     */
    Integer updateById(PreLog param);

    /**
     * 根据学生id 更新信息
     * @param param
     * @return
     */
    Integer updateByRegId(PreLog param);


    /**
     * 根据 id 删除数据
     * @param id
     * @return
     */
    Integer deleteById(@Param("id") Integer id);


    /**
     * 根据 id 批量删除
     * @param ids
     * @return
     */
    Integer deleteByIds(Object[] ids);

    /**
     * 根据身份证查询缴费信息
     * @param idCard
     * @return
     */
    List<PreLog> queryByIdCard(@Param("idCard") String idCard);

    @Select("SELECT pre_log.*,pre_registration.`phone`,pre_registration.`p_phone`,major.`major_name`,`pre_registration`.`score`,`pre_registration`.`image_url`" +
            "        FROM pre_log" +
            "        LEFT JOIN `pre_registration` ON pre_log.`registration_id`=pre_registration.`id`" +
            "        LEFT JOIN major ON pre_registration.`major_id`=major.`id`" +
            "         where pre_log.memo like '%缴款%'")
    List<PreLog> queryJKCG();


    @Insert("insert into qx_log(idcard,result) values (#{idcard},#{result})")
    int insertQxLog(@Param("idcard") String idcard,@Param("result") String result);
}
